home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / c / unixSyscall / RCS / lseek.c,v < prev    next >
Text File  |  1991-11-27  |  3KB  |  167 lines

  1. head     1.4;
  2. branch   ;
  3. access   ;
  4. symbols  sprited:1.4.1;
  5. locks    ; strict;
  6. comment  @ * @;
  7.  
  8.  
  9. 1.4
  10. date     88.07.29.17.40.26;  author ouster;  state Exp;
  11. branches 1.4.1.1;
  12. next     1.3;
  13.  
  14. 1.3
  15. date     88.07.28.17.29.06;  author ouster;  state Exp;
  16. branches ;
  17. next     1.2;
  18.  
  19. 1.2
  20. date     88.07.25.10.37.24;  author ouster;  state Exp;
  21. branches ;
  22. next     1.1;
  23.  
  24. 1.1
  25. date     88.06.19.14.31.37;  author ouster;  state Exp;
  26. branches ;
  27. next     ;
  28.  
  29. 1.4.1.1
  30. date     91.11.27.13.13.33;  author kupfer;  state Exp;
  31. branches ;
  32. next     ;
  33.  
  34.  
  35. desc
  36. @@
  37.  
  38.  
  39. 1.4
  40. log
  41. @Lint.
  42. @
  43. text
  44. @/* 
  45.  * lseek.c --
  46.  *
  47.  *    Procedure to map from Unix access system call to Sprite.
  48.  *
  49.  * Copyright 1986 Regents of the University of California
  50.  * All rights reserved.
  51.  */
  52.  
  53. #ifndef lint
  54. static char rcsid[] = "$Header: lseek.c,v 1.3 88/07/28 17:29:06 ouster Exp $ SPRITE (Berkeley)";
  55. #endif not lint
  56.  
  57. #include <sprite.h>
  58. #include "compatInt.h"
  59. #include <fs.h>
  60. #include <sys/file.h>
  61. #include <errno.h>
  62.  
  63.  
  64. /*
  65.  *----------------------------------------------------------------------
  66.  *
  67.  * lseek --
  68.  *
  69.  *    procedure for Unix lseek call. 
  70.  *
  71.  * Results:
  72.  *    the old offset if the IOC_Reposition call was successful.
  73.  *    UNIX_ERROR is returned if IOC_Reposition failed.
  74.  *
  75.  * Side effects:
  76.  *    None.
  77.  *
  78.  *----------------------------------------------------------------------
  79.  */
  80.  
  81. long
  82. lseek(filedes, offset, whence)
  83.     int filedes;            /* array of stream identifiers */
  84.     long offset;
  85.     int whence;
  86. {
  87.     ReturnStatus    status;
  88.     int          base;
  89.     int            newOffset;
  90.  
  91.     switch(whence) {
  92.     case L_SET:
  93.         base = IOC_BASE_ZERO;
  94.         break;
  95.     case L_INCR:
  96.         base = IOC_BASE_CURRENT;
  97.         break;
  98.     case L_XTND:
  99.         base = IOC_BASE_EOF;
  100.         break;
  101.     default:
  102.         errno = EINVAL;
  103.         return(UNIX_ERROR);
  104.     }
  105.     status = Ioc_Reposition(filedes, base, (int) offset, &newOffset);
  106.     if (status != SUCCESS) {
  107.     errno = Compat_MapCode(status);
  108.     return(UNIX_ERROR);
  109.     } else {
  110.     return(newOffset);
  111.     }
  112. }
  113. @
  114.  
  115.  
  116. 1.4.1.1
  117. log
  118. @Initial branch for Sprite server.
  119. @
  120. text
  121. @d11 1
  122. a11 1
  123. static char rcsid[] = "$Header: /sprite/src/lib/c/unixSyscall/RCS/lseek.c,v 1.4 88/07/29 17:40:26 ouster Exp $ SPRITE (Berkeley)";
  124. @
  125.  
  126.  
  127. 1.3
  128. log
  129. @Change parameters to match UNIX.
  130. @
  131. text
  132. @d11 1
  133. a11 1
  134. static char rcsid[] = "$Header: lseek.c,v 1.2 88/07/25 10:37:24 ouster Exp $ SPRITE (Berkeley)";
  135. d62 1
  136. a62 1
  137.     status = Ioc_Reposition(filedes, base, offset, &newOffset);
  138. @
  139.  
  140.  
  141. 1.2
  142. log
  143. @Must declare lseek "long" (even though manual says "int").
  144. @
  145. text
  146. @d11 1
  147. a11 1
  148. static char rcsid[] = "$Header: lseek.c,v 1.1 88/06/19 14:31:37 ouster Exp $ SPRITE (Berkeley)";
  149. d41 1
  150. a41 1
  151.     int offset;
  152. @
  153.  
  154.  
  155. 1.1
  156. log
  157. @Initial revision
  158. @
  159. text
  160. @d11 1
  161. a11 1
  162. static char rcsid[] = "$Header: lseek.c,v 1.4 87/06/25 17:39:49 deboor Exp $ SPRITE (Berkeley)";
  163. d38 1
  164. a38 1
  165. int
  166. @
  167.